package com.gitee.sop.message;


import java.util.Map;

/**
 * 发送器接口
 *
 * @author: huwei
 * @date: 2020/6/10 17:54
 * @version: 1.0.0
 */
public interface Sender {

    /**
     * 同步发送
     *
     * @param type            下发类型
     * @param receiver        接收者
     * @param message         发送消息
     * @param senderParameter 发送者参数
     * @return
     * @throws Exception 发送失败异常
     */
    boolean send(String type, String receiver, String message, Map<String, Object> senderParameter) throws Exception;

    /**
     * 异步发送
     *
     * @param receiver        接收者
     * @param message         发送消息
     * @param title           标题
     * @param senderParameter 发送者参数
     * @return
     * @throws Exception
     */
    boolean syncSend(String receiver, String message, String title, Map<String, Object> senderParameter) throws Exception;

    /**
     * 参数模板示例
     *
     * @return
     */
    Map<String, Object> senderParameterTemplate();
}
